package com.zhl.arraylist;


import java.util.ArrayList;

//             构造器                           作用
//             public ArrayList()              创建一个空的ArrayList对象
//             public ArrayList(int initialCapacity)  创建一个指定初始容量的ArrayList对象
//
//              常用方法名                                               说明
//              public boolean add(E e)                           添加一个元素到ArrayList中
//              public void add(int index, E element)             在指定位置添加一个元素
//              public E get(int index)                            获取指定位置的元素
//              public int size()                                  获取ArrayList的大小
//              public boolean isEmpty()                          判断ArrayList是否为空
//              public E remove(int index)                        删除指定位置的元素
//              public boolean remove(Object o)                   删除指定元素，返回是否删除成功
//              public E set(int index, E element)                 设置指定位置的元素
public class ArrayListdemo1 {
    public static void main(String[] args) {
        //目标：掌握如何创建ArrayList对象、添加元素、获取元素、删除元素、设置元素等常用方法
        //1.创建ArrayList对象
        ArrayList List = new ArrayList();//可以加限制条件，如：ArrayList<String> List = new ArrayList<String>();
        //使集合只能添加String类型元素
        //添加元素
        List.add("hello");
        List.add(123);
        List.add(true);
        List.add(55.7);
        //输出集合变量,打印它的内容。
        System.out.println("List = " + List);

        ArrayList<String> list2 = new ArrayList<String>();//加了限制条件
        list2.add("hello");
        list2.add("world");
        list2.add("java");
        System.out.println("list2 = " + list2);
        // hello world java
        //2.往集合中的某个位置添加元素  该位置指的是索引值，从0开始
        list2.add(2, "666");
        System.out.println("List = " + list2);

        //3.根据索引获取集合中某个位置处的值
        String str = list2.get(2);
        System.out.println("str = " + str);

        //4.获取集合大小
        int size = list2.size();
        System.out.println("size = " + size);

        //5.判断集合是否为空
        boolean isEmpty = list2.isEmpty();
        System.out.println("isEmpty = " + isEmpty);

        //6.根据索引删除集合中的某个元素值，会返回删除的元素值给我们
        String str2 = list2.remove(2);
        System.out.println("删除的元素值 = " + str2);
        System.out.println("删除后的集合List = " + list2);

        //7.直接删除删除集合中的某个元素，会返回是否删除成功  默认只删除第一次出现的值，后面的不会删除
        boolean remove = list2.remove("hello");
        System.out.println("是否删除成功 = " + remove);
        System.out.println("删除后的集合List = " + list2);

        //8.修改某个索引位置的元素值,修改后会返回原来的值给我们。
        System.out.println(List.set(0, "好好学习"));   //显示被修改的元素值 hello
        //[好好学习, 123, true, 55.7]
        System.out.println("修改后的List = " + List);


    }
}
